1. Technical Field
Embodiments of the present invention generally relate to image processing techniques and, more particularly, to a method and apparatus for performing a blur rendering process on an image.
2. Description of the Related Art
At times, it is desirable to create visual effects (i.e., blur rendering) for various applications related to computer graphics, photography, or video and/or the like. Image processing systems use rendering to make certain regions of an image appear out of focus. For example, given a still image generated by an imaging device and a corresponding depth map that associates a depth value to each pixel in the original image, blur rendering can achieve an increase in the blur in out-of-focus areas, thus transforming the original image into a simulated image as it would be taken by an imaging device with a lower depth of field. Blur rendering may also be used to remove noise from non-linear color maps and depth maps. Generally, the image is blurred by changing intensity values for X pixels vertically and Y pixels horizontally. By computing weighted averages for each pixel, pixel gradients (changes in color) are mostly retained, however a lot of the fine detail within the image is removed.
Conventionally, various techniques utilize low pass filters (i.e., Gaussian filters) to compute the weighted intensity values (i.e. smooth the image). The Gaussian filters are well known n×n filters (e.g., a 3×3 matrix) that attenuate amplitudes of a signal when a frequency exceeds a cut-off frequency and are used to simulate a lens blur. However, Gaussian filters are known to be non-edge preserving and give rise to imaging artifacts. Using edge-preserving filters instead of Gaussian filters can reduce artifacts, but such implementations are generally slow or make use of large memory. In computer graphics, alpha matting or mipmap techniques are used. Such techniques have proven to be cumbersome and impractical, especially in large images (i.e., greater than four Kilobytes). Such techniques primarily involve manual operations and are not automated. The conventional techniques are inefficient, computationally expensive and unable to provide an automated solution for blur rendering.
Therefore, there is a need in the art for a method and apparatus for performing an improved blur rendering process on an image in a manner that preserves accurate optical properties related to the blur rendering process.